From 99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9 Mon Sep 17 00:00:00 2001
From: Gaurav Jain <gaurav.jain@nxp.com>
Date: Wed, 28 Jun 2023 12:44:32 +0530
Subject: [PATCH] cryptodev_verbosity: Fix build for Linux 6.4

register_sysctl_table api is removed in kernel.
migrate to the new api register_sysctl.

child is also removed in linux 6.4 ctl_table struct.

Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>

Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 ioctl.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/ioctl.c b/ioctl.c
index 8f241b86..4262bbd5 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -1246,7 +1246,9 @@ static struct ctl_table verbosity_ctl_root[] = {
 	{
 		.procname       = "ioctl",
 		.mode           = 0555,
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
 		.child          = verbosity_ctl_dir,
+#endif
 	},
 	{},
 };
@@ -1267,7 +1269,11 @@ static int __init init_cryptodev(void)
 		return rc;
 	}
 
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
 	verbosity_sysctl_header = register_sysctl_table(verbosity_ctl_root);
+#else
+	verbosity_sysctl_header = register_sysctl(verbosity_ctl_root->procname, verbosity_ctl_dir);
+#endif
 
 	pr_info(PFX "driver %s loaded.\n", VERSION);
 
